package leetcode.todo

//https://leetcode.com/problems/n-queens/
/**
 * The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.


https://assets.leetcode.com/uploads/2018/10/12/8-queens.png
Given an integer n, return all distinct solutions to the n-queens puzzle.

Each solution contains a distinct board configuration of the n-queens' placement, where 'Q' and '.' both indicate a queen and an empty space respectively.

Example:

Input: 4
Output: [
[".Q..",  // Solution 1
"...Q",
"Q...",
"..Q."],

["..Q.",  // Solution 2
"Q...",
"...Q",
".Q.."]
]
Explanation: There exist two distinct solutions to the 4-queens puzzle as shown above.
 */
fun main(args: Array<String>) {


}

fun solveNQueens(n: Int): List<List<String>> {

    val result = ArrayList<ArrayList<String>>(n)
    val queens = Array(n, { -1 })
    solveNQueensRecursive(queens, result)
    return result
}

fun solveNQueensRecursive(queens: Array<Int>, result: ArrayList<ArrayList<String>>) {

}
